package main

import "fmt"

// go中有两个输出方式 print println 以及 fmt方法中的print
// print 和 println 是用来做标准错的输出的函数

func Fmtln() {
	fmt.Print("Hello World")
	fmt.Println("Hello World")
}

func Orifmt() {
	// 没有换行符  \n
	print("Hello World")
	// 自带换行符
	println("Hello World")
}

func Fmtf() {
	var p1 = "string123"
	// %v 打印值
	fmt.Printf("%v\n", p1)
	// %+v 打印值和字段名 , %#v 打印名和类型
	fmt.Printf("+v= %+v, #v= %#v\n", p1, p1)
	// %T 打印类型
	fmt.Printf("%T\n", p1)
	// %t 布尔型
	fmt.Printf("%t\n", p1)
	// %d 整数型  %f 小数型  %s字符串
}

// 将 fmtprint 出来的值 赋给一个变量的方法
func Proj_1() {
	//使用 Sprintf来拼接字符串
	var (
		name   string
		age    int
		gender string
	)
	name = "myc"
	age = 18
	gender = "male"
	result := fmt.Sprintf("%s is %d years old , is %s ", name, age, gender)
	fmt.Println(result)
}
